﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using BaseDatos;

namespace SCHD
{
    public partial class WFMantSO_Edit : TDV.Controles.Base.WinForm.BaseForm_Tipo01
    {
        LBIdioma idioma = new LBIdioma();
        LBFabricante fabricante = new LBFabricante();
        LBTipoSoft tipo = new LBTipoSoft();
        LBClaseSoft clase = new LBClaseSoft();
        public WFMantSO_Edit()
        {
            InitializeComponent();
        }

        private void basePictureBox1_Click(object sender, EventArgs e)
        {

        }

        private void WFMantSO_Edit_Load(object sender, EventArgs e)
        {
            CargaIdioma();
            CargaFabricante();
            CargaTipo();
            CargaClase();
        }

        private void BtnCancelar_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.Cancel;
        }

        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            //Validaciones
            if (string.IsNullOrEmpty(TxtKey.Text))
            {
                ControlError.SetError(TxtKey, "Error tiene que ingresar una Key");
            }
            if (string.IsNullOrEmpty(TxtSerie.Text))
            {
                ControlError.SetError(TxtSerie, "Error Tiene que ingresar una Serie");
                return;
            }
            if (CboFabricante.DataSource == null)
            {
                MessageBox.Show("No existen Fabricantes Registrados");
                return;
            }
            if (CboIdioma.DataSource == null)
            {
                MessageBox.Show("No existen idiomas registrados");
                return;
            }
            if (CboTipo.DataSource == null)
            {
                MessageBox.Show("No existen Tipos registrados");
                return;
            }
            if (CboClase.DataSource == null)
            {
                MessageBox.Show("No existen Clase registrados");
                return;
            }
            try
            {
                EBSoft soft = new EBSoft();
                soft.Nombre = TxtNombre.Text.ToUpper();
                soft.Descripcion = TxtDescripcion.Text.ToUpper();
                soft.Key = TxtKey.Text.ToUpper();
                soft.Serie = TxtSerie.Text.ToUpper();
                soft.Lenguaje = CboIdioma.SelectedValue.ToString();
                soft.Tipo = CboTipo.SelectedValue.ToString();
                soft.Clase = CboClase.SelectedValue.ToString();
                soft.Requerimiento = TxtRequerimiento.Text.ToUpper();
                soft.Vencimiento = Convert.ToDateTime(DTVencimiento.Text);
                soft.Grabar();
            }
            catch (Exception ex) 
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void TxtKey_Validating(object sender, CancelEventArgs e)
        {
            Picx1.Visible = false;
            PicOk1.Visible = false;
            PicComp1.Visible = true;
            if (!string.IsNullOrEmpty(TxtKey.Text))
            {
                try
                {
                DataSet ds = ConexionBaseDatos.Conexion.CrearDataSet("select *from chdsoft where key = '"+TxtKey.Text.ToUpper()+"'",CommandType.Text);
                if (ds.Tables[0].Rows.Count > 0)
                {
                    TxtKey.BackColor = Color.Red;
                    PicComp1.Visible = false;
                    BtnAceptar.Enabled = false;
                    Picx1.Visible = true;
                    return;
                }
                else
                {
                    TxtKey.BackColor = Color.White;
                    BtnAceptar.Enabled = true;
                    PicOk1.Visible = true;
                    PicComp1.Visible = false;
                }
                }
                catch (Exception)
                {

                    throw;
                }
            }
        }

        private void BtnMantIdioma_Click(object sender, EventArgs e)
        {
            string tipo = "I";
            WFSoft_Add soft = new WFSoft_Add(tipo);
            soft.ShowDialog();
            if (soft.DialogResult == DialogResult.OK)
            {
                CargaIdioma();
            }
        }
        protected void CargaIdioma()
        {
            CboIdioma.DataSource = null;
            idioma.Clear();
            idioma.Buscar();
            if (idioma.Count > 0)
            {
                CboIdioma.DisplayMember = "Descripcion";
                CboIdioma.ValueMember = "Codigo";
                CboIdioma.DataSource = idioma;
            }
           
        }
        protected void CargaFabricante()
        {

            CboFabricante.DataSource = null;
            fabricante.Clear();
            fabricante.Buscar();
            if (fabricante.Count > 0)
            {
                CboFabricante.DisplayMember = "Descripcion";
                CboFabricante.ValueMember = "Codigo";
                CboFabricante.DataSource = fabricante;
            }
        }
        protected void CargaTipo()
        {
            CboTipo.DataSource = null;
            tipo.Buscar();
            if (tipo.Count > 0)
            {
                CboTipo.DisplayMember = "Descripcion";
                CboTipo.ValueMember = "Codigo";
                CboTipo.DataSource = tipo;
            }
        }

        private void BtnFabricante_Click(object sender, EventArgs e)
        {
            WFSoft_Add soft = new WFSoft_Add("F");
            soft.ShowDialog();
            if (soft.DialogResult == DialogResult.OK)
            {
                CargaFabricante();
            }
        }

        private void BtnTipo_Click(object sender, EventArgs e)
        {
            WFSoft_Add soft = new WFSoft_Add("T");
            soft.ShowDialog();
            if (soft.DialogResult == DialogResult.OK)
            {
                CargaTipo();
            }
        }

        private void BtnClase_Click(object sender, EventArgs e)
        {
            WFSoft_Add soft = new WFSoft_Add("C");
            soft.ShowDialog();
            if (soft.DialogResult == DialogResult.OK)
            {
                CargaClase();
            }
        }
        protected void CargaClase()
        {
            CboClase.DataSource = null;
            clase.Buscar();
            if (clase.Count > 0)
            {
                CboClase.DisplayMember = "Descripcion";
                CboClase.ValueMember = "Codigo";
                CboClase.DataSource = clase;
            }
        }
    }
}
